나스 초기 세팅

개요

일단 초기 qts(큐냅 os)를 설치하는 과정도 보여주고 싶었는데, 이건 큐냅 클라우드를 이용하는 바람에 찍지 못했다.
그 이후 세팅부터라도 본격적으로 기록을 남긴다.

이전 복기

일단, 구축을 하기 위해 진행한 것들을 되짚어 보자.
오늘 하드디스크가 도착한 관계로 오늘부터 시작하게 됐다.
내일 면접인데.. 그래도 못 참는다.

초기 환경 숙지


이제부터 시작이다!
펌웨어 업데이트부터 시작해야 하기는 하는데, 정확한 버전 정보를 명시하기 위해 잠시 보류.

스토리지 풀 만들기


4.RESOURCE/KNOWLEDGE/개념/스토리지 풀을 먼저 만들고, 그 위에 본격적으로 볼륨을 올린다.
스토리지 풀은 물리적 공간을 묶는 단위이다.
달리 말하자면 RAID 세팅이라고도 할 수 있겠다.
이 위에 만들어지는 볼륨은, 실제로 유저가 사용하는 논리적 디스크 공간이다.

블록 단위의 스냅샷을 지원해준다.
한번 세팅을 한 이후에는 file station에서 관리를 진행할 수 있다.

음.. 기본이 사용 안함으로 돼있는데 어떻게 하는 게 좋으려나.

일단 큐티어는 ssd가 있을 때나 효용이 있다.[1]
나는.. ssd도 없고 메모리 확장도 불가하기 때문에 메모리 효율을 따져야 할 것 같다.

sed는 써있는 대로 저장할 때 모든 데이터를 암호화하는 것이다.[2]
암호화를 하는 만큼 성능의 이슈는 있을 것이라 생각한다.

디스크 하드웨어 기반의 암호화를 진행하기에 cpu는 사용하지 않는다지만, 결국 디스크의 성능에 속도가 판가름난다는 것이나 다름없다.
어쩌다 디스크가 털려버리는 상황이 나왔을 때 sed는 분명 유용할 것이다.
현재 기준으로 속도에 대한 자료는 찾아보기 힘들다.
큐냅에서 이야기하지 않는 이유는, 꽤나 고려 대상이 되기 때문에 그런 것이라 생각한다.
나는 진행하지 않겠다.

애초에 hdd라 모드 선택지도 주어지지 않는다.
초기 생각한 대로 레이드1로 진행한다.

스냅샷을 여기에서 설정하는데, 전체에서 20퍼를 사용하는 게 기본이다.
원래 스냅샷은 공간이 부족해지면 자동으로 비워지지만, 지정된 양까지는 보장할 수 있다는 것이다.
나는 기본으로 전부 진행하기로 마음 먹었다.
이렇게 진행할 시, 내가 맘대로 사용할 수 있는 전체 공간이 2테라가 된다.

볼륨 만들기

이제 이 위에 볼륨을 만들 건데, 볼륨은 분할할 필요가 있을까?
사용자 단위로 볼륨을 나누는 게 좋지 않을까 싶기는 한데.

볼륨의 종류에는 3가지가 있다.
용도에 맞게 볼륨을 사용하는 것도 좋은 선택지이기는 할 것으로 생각된다.
각각의 차이를 조금 비교를 해볼까.

이러면 나는 씩 볼륨을 쓰는 게 좋을 것 같다.
옵시디언을 정적 볼륨에 둘까도 생각했는데, 스냅샷이 되지 않는다면 치명적이라 생각한다.
안정성도 무시할 수 없는 사항이기에, 기본적인 방향으로 가고자 한다.

볼륨 암호화는 속도에 영향을 많이 준다고 하여, 진행하지 않는다.

inode 크기도 지정할 수 있다.
애초에 내가 가진 크기가 15테라를 넘지 않는 관계로 4k를 선택했다.

본격적으로 볼륨이 만들어지기 시작하니 기본으로 깔리는 앱들도 덩달아 설치됐다.
대표적으로 malware remover.
아무래도 볼륨 위에 설치되는 모양이다.

짜장!

디스크 설정


이쪽 설정도 진행해주자.
레이드 동기화는 디스크 교체, 마이그레이션 등의 작업을 할 때 어떤 것들부터 할지를 말하는 건데, 나는 하나라 상관 없는 이야기다.
스크러빙 레이드5,6에서 진행하는 섹터 검사이다.
자동 회수는 씬 볼륨에서 사용 안 된 채 프로비저닝한 값을 언제 회수할 건지에 대한 것.

이쪽은 조금 중요해보인다.
하드디스크는 기본적으로 배드 섹터가 생기기 마련이다.
그래서 이를 잘 감지하기 위해서 중요한 게 smart 검사.[3]
wdda는 wd에서 제공하는 모니터링 도구이다.
아무래도 제조사에서 제공하는 게 더 심층적인 분석을 해주긴 한다고 한다.
ihm는 씨게이트 아이언울프 전용..
da drive analyzer 이건 큐냅에서 제공하는 ai 기반 분석이라고 함 ㄷㄷ
일부 기능은 유료라고 합니다.

스냅샷 설정도 있는데, 전부 기본으로 했다.
딱히 건드릴 건 없는 것 같다.

펌웨어 업데이트


처음에 나왔던 거긴 한데, 지금 진행한다.
내 버전이 정확하게 뭔지 초반에 파악하지 못했기 때문이다.
업데이트를 하면 나스는 재부팅에 들어간다.
그동안 열심히 신음 소리를 내더라..

보안 설정


이제 본격적으로 앱 센터에 있는 것들을 사용해서 각종 설정을 진행한다.
가급적으로는 필요한 것들만 위주로 진행하는 게 좋은 것이, 결국 이게 다 리소스를 먹는 일이기에 그렇다..

보다시피 메모리 사용량이 이미 1기가를 넘는다.
결국 실질적으로 자유롭게 활용될 수 있는 메모리는 작다는 것이다.

중간 보안 정책을 활용하는 것이 좋아보인다.

처음 점검이 진행됐는데 중간 수준의 위험이라고 뜬다.

내부에 세부적으로 어떤 것들이 문제인지 볼 수 있다.
파일스테이션 업데이트부터 진행한다.
이놈은 항상 사용하게 될 놈이니 되도록 최신 버전을 사용하는 게 좋을 것으로 보인다.

다음은 바이러스 검사툴, clam.

이놈은 매번 하는 건 아니고, 주기적으로 하게만 설정해준다.
이후에 모든 파일보다는 잠재적으로 위험한(패딩이 많이 들어간다던가..애매한 확장자라던가..) 파일만 스캔하도록 만들었다.

일단 바로 진행해보는 중인데, 하꼬 메모리라고 무시한다 ㅠ

스캔 작업이, 내 생각보다 훨씬 오래 걸린다;
지금 들어있는 것도 없는데 5분째 0퍼센트가 말이 되냐?
P-CKA 취득 공부를 하면서 기다렸는데, 거의 1시간은 걸린 것 같다;;


방화벽은 정말 필수라고 생각하는데, 리소스 사용량이 얼마나 될까.
이 친구로 내가 생각하는 보안 설정들을 다 진행할 수 있다.

일단 여기에서 이런 설정을 할 수 있다.
기본은 지역 단위 제한으로, 당연히 south korea를 설정해줬다.
내 생각에는 이후에 restricted를 사용하게 될 것 같은데, 조금 더 설정해보면서 차차 바꿔나가겠다.
ip 리스트 관리
다른 국가 차단

외부에서 접속 가능하게.
최대 로그인 횟수 지정
nfs 연결
알림 정책 설정

nat loopback을 해결하기 위해 나스에 dns 서버를 두는 건 얼마나 큰 리소스를 불러오는가?
실무자들은 얼마나 드냐고 반문을 하지만, 이분들도 잘 아는 것 같지는 않았다.
캐싱하고, lan 내의 모든 dns 처리를 하게 되면 상당한 트래픽 부하가 일어날 것이라 생각해서 나는 좋지 않을 거라 생각이 드는데, 내가 너무 과하게 걱정하는 걸까..?
Pasted image 20241220182024.png
와.. 은주님은 누구시길래 제 나스에 침범하시려는 걸까요?
Pasted image 20241220182255.png
Pasted image 20241220182348.png
어디까지 알 수 있을까 조금 궁금해지는데, 해당 주소는 서울특별시청이다.
5번까지 요청이 들어오고는 아무래는 ip차단이 들어간 것 같다.

리소스 확인


이건 내가 아무 짓도 안 하더라도 항상 있을 것으로 추정되는 프로세스들이다.
그런데, 아파치 프록시는 절전인데 뭐라고 40메가나 가지고 있는 거지?
2기가밖에 없으니까 괜히 예민해진다..!
설정들을 해보며 알게 됐는데 웹을 통해 연결되는 모든 요청을 httpd가 처리하고 있다.

로깅 설정


로깅을 진행한다.
스냅샷이랑 별개로 트래픽, 리소스, 핵심 알림들을 남겨둘 필요가 있다.
로그 그룹화, 핵심 로그 관리 등을 할 수 있고, 아예 다른 곳으로 로그를 이전하는 방식도 가능하다.

네트워크 설정

여기는 나스 네트워크 설정에서 진행한다.

알림 설정


네트워크 설정하다가 갑자기 후순위로 밀려버린 알림 설정..
사실 이걸 정말 빠르게 해야 하는데 반성한다.

일단 기본으로는 모든 알림들이 나오도록 만드려고 했다.
이 알림은 따로 전송되지 않고 내가 관리자 페이지를 들어왔을 때 확인할 수 있도록 하고 싶었다.
그런데 이메일, 문자, 푸시 등의 방법들만 가능한 모양이다.
내가 이벤트에 대해 잘못 생각했다는 것이다.

그렇다면 최소한 위험하다고 생각되는 것들만 받는 식으로 진행해야겠다.
아직 내가 어떤 어플리케이션의 알림을 받지 않아도 되는지에 대한 정보가 부족하다.

일단 첫번째 이벤트 알림 활성화.

테스트 이메일을 보내려했는데 실패했다.
네이버 stmp 서버를 사용하는 게 아닌 건가?[4]

내가 네이버쪽에서 설정을 걸지 않은 게 문제였다.
그리고 포트를 465로 열고 있는 듯하다.
흠. 나스에서 이메일을 보내는 게 성공했다고 했으나 막상 이메일은 오지 않았다.
비밀번호 이슈일 수도 있다.[5]

계속 안 돼서 직접 스크립트를 짜서 사용해봤다.

공지에서 조금 더 상세한 이유를 찾을 수 있었다.
근데 이러면, smtp를 쓸 띠 네이버 계정을 그냥 사용할 수 없다는 말과 같지 않나?

일단 두 방법이 떠오른다.

  1. 지메일 이용하기
  2. 나스에 메일 서버까지 넣기
    1. 도메인에 메일 레코드도 추가해야 할 듯.


간단하게 지메일로 끝냈다.

각 애플리케이션에 알람 규칙 목록을 간단하게 확인할 수 있는데, 이렇게 각 앱 별로 알림을 분리해두면 어떤 알림인지 빠르게 확인할 수 있다.

경고 알람

기본적인 이벤트 알람은 이메일로만 받고 싶다.
그러나 긴급한 경고가 들어온다면 이것은 핸드폰으로 들어오는 게 베스트다.
처음에는 sms를 생각했는데, 카톡으로 들어오는 게 훨씬 낫다고 생각한다.
이런 설정을 하려면 어떻게 해야 하는가?

기본적으로 알림 센터에서 제공해주는 방식은 4가지가 전부이다.
인스턴트 메시징은 보니까 어플리케이션 연동인데, 스카이프를 지원해주더라.
푸시는 브라우저에다가 푸시를 하는 방식으로 이전에 pwa에서 봤던 웹 푸시를 활용하는 듯하다.
아니 그냥 웹훅 하나 있으면 되는 건데, 따로 안 보여주나?;;

메시지는 역시 내가 잘 안 볼 것 같은데, 다른 방법을 찾긴 했다.
큐냅에서 제공해주는 모바일 앱을 활용하는 것이다.
본격적으로 모바일 설정도 진행해주면 될 것 같다.
(나중에 직접 스크립트를 만들면 재밌을 것 같다. 시도해보자.)

계정 설정 및 기본 파일 생성

그 전에, 사용자를 설정한다.
일단 현재 설정을 진행하는 내 계정 말고, 내가 어디에서든 사용할 수 있는, 일반 사용자로서의 내 계정을 만들 생각이다.
모든 세팅이 완료된다면 이후로는 가급적 그 계정만 쓰는 게 안전할 것이라는 판단이다.
계정이 털리더라도 일반 계정을 털리는 게 훨씬 안전하니까.
아울러 엄마가 사용할 수 있게도 만들어줘야 하니, 관련 계정도 만들어준다.

관리자 계정

나스에 qts를 설치할 시점에 있던 admin 계정은 자동으로 비활성화되고 나만의 신규 관리자를 처음에 만들었었다.
참고로 admin 계정은 내 클라우드 키가 비밀번호로 잡혀있다.
이 놈에 대한 세팅을 한다.

일단 복구 프로세스와 2단계 인증 방법을 마련한다.

다양한 방법을 제공해준다.
위의 방식을 봤는데, Google Authenticator를 쓸 수 있다해서 바로 추가.
Multi Factor Authoriazation 중에서 totp라는 방식이 있는 건가?
저번에 구글 패스 키에대해서도 간략히 들은 적이 있는데, 이거 관련 정리해보는 것도 재밌겠다.

TOTP


뭔가 했는데, 그냥 Time-based One-Time Password의 약자이다.
말 그대로 여태 내가 쓰던 구글 인증 도구 방식을 말한다.
서버와 내 로컬에 공유하고 있는 비미리가 있다.
그리고 해시를 만들어낸 후 이것이 같은지 비교한다고 한다.
https://velog.io/@ailab/TOTP-HMAC-HOTP-알고리즘
구체적인 원리가 궁금해서 조금 더 찾아봤따.
일단 현재 시간과 제3자는 알 수 없는 비밀키를 이용해서 해시값을 만든다.
그 후, 이 해시를 정수로 만드는데, 이 기술은 HOTP라고 부른다.
조금 신기한 방식을 쓴다.
일단 맨 끝 4비트를 가져와서 오프셋으로 설정한다.
그리고 그 오프셋 위치부터 4바이트를 가져온 후에, 맨 앞자리를 비트는 없애고 정수화시킨다.
그렇게 나온 수에서 원하는 값만큼만 가져다 쓰는 방식이라고 한다.
그냥 요지는 전체 해시의 중간만 쏙 빼서 숫자로 표현하는 방식이라는 것이다.

두 가지가 궁금했는데 해결했다.
클라와 서버의 시간에는 오차가 있을 수 있어서, 서버 측에서는 대체로 30초 정도의 텀을 두고 모든 otp를 받을 수 있도록 준비해둔다.
그리고 서로 공유하는 비밀키는 중간 과정에서 탈취할 수 없도록 전송 과정의 암호화(tls같은)를 한다.
최악의 상황이라면 클라, 서버 둘 중 하나의 키가 탈취되는 건데, 사실 이러면 진짜 다 털린 상황인 거라 totp 단계에서 걱정할 사항이 아니다.

사용자 설정


일단 우리 가족이 동일하게 사용할 가족 그룹을 만들었다.

내 전용 사용자도 만들었다.
나중에 엄마한테 물어보고 엄마 사용자도 만들어둘 생각이다.
비번은 알아서 바꿀 수 있게 해뒀고, 앞으로 각 개인의 폴더만을 관리할 수 있게 된다.

컴퓨터에서 접속하기


이제 드디어 내 나스에 폴더로 접근하는 기능을 넣으려고 한다.
NFS4부터 보안 기능이 강력화되고, tcp 프로토콜을 사용한다고 들었기에 일단 이쪽만 허용하려고 한다.

기기 연결 설정

기본적으로는 Qsync를 이용한다.
이 놈이 알아서 싱크를 지원해주기에 이걸 선택했다.
나스의 디렉토리 자체를 내 기기에 마운팅하는 방법도 존재하나, 이러면 속도 이슈가 상당할 것으로 생각되며, 네트워크에 내 자료가 지나치게 종속된다.
이렇게 사용할 디렉토리를 두기는 할 것이나, 이건 어디까지나 명백하게 백업 목적의 파일들을 보관하는 것들에 한정할 생각이다.

모바일

모바일에서는 QFile을 이용해서 쉽게 연결할 수 있다.
여기에서 Qsync나, 자동 업로드 등의 설정을 할 수 있다.

내 일반 사용자로 들어가서 사진을 업로드해봤다.
엄청 간단하고 빨라서 맘에 든다.
그러고보니.. nat loopback이 발생하지 않고 있다.
일단 나는 ddns 주소를 이용해서 들어왔으니, 소스 ip로는 우리 집 공인 ip가 잡혔을 것이다.
loopback은 같은 네트워크 환경에서 공유기를 거치지 않고 직빵으로 데이터를 날릴 때 발생하는 건데, 이거 기본적으로 우리집 공유기에 세팅이 돼있는 것일까?
한켠에서는 이거 지원하는 공유기에 부하가 걸린다고 들었는데, 괜찮으려나.
라는 고민은 아래에서 풀렸다.

현재 네트워크 전송 속도를 보는 중인데, 매우 매우 느리다.
현재 핸드폰에서 나오는 출력 속도를 보면 한 파일마다 다르긴 해도 10메가 정도는 나오는 것 같은데..

흠.. 그냥 와이파이로 연결된 컴퓨터의 속도는 현재 이렇다.
핸드폰이 업로드하는 게 속도가 걸리는 게 아닐까 싶기도 하다.
큐싱크가 어떤 프로토콜을 통해 데이터를 올리고 있는 걸까?

프로토콜 이슈가 아니었을 수도.
혹시나 해서 내부 ip로 주소를 바꾸고 시도를 해봤는데, 향상된 속도를 보여주고 있다.

속도에 대한 추측

아래에서 보이지만 일단 컴퓨터 클라이언트는 내부 ip를 잡아주지만, 핸드폰은 그렇지 않은 것으로 보인다.
일단 나는 이쪽이 가능성 있다고 본다.
그게 아니라면, 처음에 연결을 하는 그 시점에 연결 정보만을 가지고 진행해서 그런 것일 수도 있다.
시험해본답시고 내가 핸드폰을 셀룰러 데이터로 연결했었기 때문이다.
그러다 다시 와이파이를 켰으니, 어플리케이션이 ip를 갱신할 시간이 주어지지 않았다던가.


그렇다고 무조건 빠른 것도 아니다.
아까보다는 확실히 빨라졌지만, 순간 순간의 속도는 느린 구간이 있다.
아. 보니까.. 내가 올리는 파일들 크기가 애초에 20kb 이런 식이다 ㅋ;
각 파일들을 작업하면서 올리다보니 속도가 떨어지는 게 아닌가 한다.
반대로 큰 파일을 올리는 순간에는 빠르게 데이터가 전송된 것이다.

https를 통해 전송이 이뤄지고 있다.

리소스 모니터링을 하려고 했는데, 10분이 지난 것을 gui로 확인할 수가 없었다.
그래서 내부 파일을 직접 찾아보려고 한다.
아까 한번에 네트워크 사용량이 껑충 뛰었던 그 시점에, 어떤 파일이 오고갔는지를 알아내고 싶다.

대충 100메가 가까이 되지 않았을까 하고 찾아보는데, find에서는 최대로 걸 수 있는게 키로바이트네..

10메가 정도의 파일들을 찾아봤다.

stat을 통해서 파일에 대한 메타데이터를 확인할 수 있다.
xargs까지 또 써야 하네..
킹뿔싸, 나는 os에서 네트워크 패킷량과 같은 정보를 간략하게나마 로그로 저장해두는 장치가 있을 것이라 생각했었다.
그러나 검색을 해보니 그런 것이 기본적으로 제공되지는 않는다고 한다.

말하는 사이에 어쩌다 갑자기 이렇게 속도가 늘었냐?
아하.. 역시 내 추측이 맞았다.
그냥 지금 내 핸드폰이 전송하고 있는 게 뭔가 봤는데 동영상이었다.
순식간에 속도가 10메가 언저리까지 올라갔다.
결국, 걱정할 정도로 속도가 현재 비정상적인 게 아니라, 단순히 작은 파일이 많아서 생기는 이슈라는 것이다.

그런데 이걸 보니까 시스템 메트릭을 저장하는 도구가 있었으면 좋겠다는 생각이 든다.
리소스 모니터라는 어플을 제공하나, 이건 실시간 메트릭만 볼 수 있다.
최대 10분.. 시놀 쪽은 보니까 메트릭도 저장한다는데 ㅂㄷㅂㄷ
1년 단위, 얼마나 압축할지 이런 것도 다 해주던데!

찾다보니까 Q'center라는 게 어플을 발견했다.
기본으로 설치되는 앱은 아니지만 내가 원하는 메트릭들을 볼 수 있을 것 같다.

에라이 씹 이게 다 내 업보지..
무슨 안빈낙도를 하려고 메모리 2기가 따리를..
최소한 시놀이었으면 직접 메모리 확장도 가능한데..

음. 이놈은 admin 권한으로 실행된다.
큰 일이야 있겠냐만, 섣불리 이 놈을 외부에서 켜는 것 좋지 않을 것으로 생각된다.

일일 단위로 대시보드를 만들 수 있다.

보고서를 이용하면 조금 더 자세하게 볼 수 있는데, 한 원소(이 단위를 뭐라하더라)는 대략 5분 단위로 집계된다.

옵시디언 폴더

노트북 옵시디언 동기화에서 계속 한다.
사실 이거 때문에 갑자기 나스를 알아봤지..
이제부터 몇 가지 테스트를 해보려고 한다.

컴퓨터에 네트워크가 잡히지 않는 상황

최악의 상황을 가정해보자.
쓰기 작업이 일어나고 있는데, 갑자기 꺼지는 것이다.
핸드폰에서 대충 확인한 바는, 전송 실패 여부는 나스에 기록되지 않는다.
이벤트로그에도 없고, 왜 그런지는 모르겠다.

아무튼 그냥 컴터를 꺼봤는데, 딱히 종료를 기다리거나 하는 일이 발생하지 않았다.
그리고 컴퓨터를 다시 키고 실행했더니 정상적으로 동작했다.
모쪼록, 네트워크가 끊기는 문제를 걱정할 필요는 없겠다.

도중에 컴퓨터를 그냥 꺼버린다면?

내가 원할 때 빠르게 끄고, 나중에 다시 연결되면 다시 잘 되는 게 중요하다.

동기화 속도


얼마나 빠르게 싱크가 되는지 확인해보려고 테스트 중에 발견한 이슈.
단순하게 what이란 파일을 만드려고 했는데 이놈이 갑자기 충돌을 냈다.
아무래도 나스로 싱크되는 중인 파일에 대해 작업을 해서 문제가 발생한 게 아닐까 한다.

얼마나 빠르게 싱크를 맞추는지 간단히 테스트.

나스로 올라가는 것 자체는 5초도 안 걸렸다.
근데 나스에서 핸드폰으로 동기화되는 데에는 엄청난 시간이 걸린다.
핸드폰이 주기적으로 요청을 수행해야 하는데 이것은 아무래도 핸드폰 배터리 소모량을 늘리기에 이렇게 설정된 것으로 생각된다.
다른 사람들이 사용한다는 remotely save를 통해 동기화하는 방법이 유효하겠다.

나스가 꺼진 상황

이건 아래에서 진행해본다.

나스 재시동


리소스 모니터를 킬 때마다 스왑 메모리 가지고 뭐라뭐라 하던데, 사실 이정도 스왑이면 무서울 게 뭐 있겠냐만..
어차피 한번 재시동 테스트도 해보고 싶었다.
정전 나는 상황이라던가, 나중에 디스크를 교체하거나 할 때, 물리적으로 유지보수가 필요할 때 설정하는 방법도 알아놔야지.
물론 정전 나는 상황에 대해서 테스트를 하긴 힘들다.
역시 만류를 뿌리치고 ups 샀어야 하나..?
나중에 첫 월급을 탄다면, 내 첫 지름은 ups다..!

참고


  1. https://www.clien.net/service/board/cm_nas/15364704 ↩︎

  2. https://www.qnap.com/ko-kr/how-to/tutorial/article/qnap-nas에서-셀프-암호화-드라이브sed를-어떻게-사용합니까 ↩︎

  3. https://namu.wiki/w/S.M.A.R.T. ↩︎

  4. https://help.naver.com/service/30029/contents/21344?lang=ko ↩︎

  5. https://help.naver.com/service/5640/contents/8584?lang=ko ↩︎